package com.rbac.modules.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rbac.modules.system.dto.UserDTO;
import com.rbac.modules.system.dto.UserQuery;
import com.rbac.modules.system.entity.SysUser;

import java.util.List;

public interface SysUserService extends IService<SysUser> {

    /**
     * 分页查询用户列表
     */
    Page<SysUser> page(UserQuery query);

    /**
     * 创建用户
     */
    void create(UserDTO userDTO);

    /**
     * 更新用户
     */
    void update(UserDTO userDTO);

    /**
     * 删除用户
     */
    void delete(Long[] ids);

    /**
     * 重置密码
     */
    void resetPassword(Long[] ids);

    /**
     * 获取用户权限列表
     */
    List<String> getUserPermissions(Long userId);

    /**
     * 获取用户角色列表
     */
    List<String> getUserRoles(Long userId);
}
